package com.wanbangee.marksystem.analysisservice;

import java.util.Map;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value="kaojinbang-examination-score-provider")
public interface ObjectiveAndSubjectiveDistributionService {

	/**
	 * 查询客观题选项分布
	 * @param examId
	 * @param subId
	 * @param claId
	 * @param topicNo
	 * @return
	 */
	@RequestMapping("/topicNoScoreInfo/selectOptionDistribution")
	public Map<String, Object> selectOptionDistribution(@RequestParam("examId")Integer examId,@RequestParam("subId")Integer subId,@RequestParam("claId")Integer claId,@RequestParam("topicNo")String topicNo);
	
	/**
	 * 个人选项列表
	 * @param examId
	 * @param subId
	 * @param claId
	 * @param topicNo
	 * @param option
	 * @param stuNmAndStuNo
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@GetMapping("/topicNoScoreInfo/selectStudentOption")
	public Map<String, Object> selectStudentOption(@RequestParam("examId")Integer examId, @RequestParam("subId")Integer subId, @RequestParam("claId")Integer claId, @RequestParam("topicNo")String topicNo,
			@RequestParam("option")String option, @RequestParam("stuNmAndStuNo")String stuNmAndStuNo, @RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize")Integer pageSize) ;
	
	/**
	 * 主观题个人得分表
	 * @param examId
	 * @param subId
	 * @param topicNo
	 * @param claId
	 * @param minScore
	 * @param maxScore
	 * @param stuNmOrStuNo
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@GetMapping("/topicNoScoreInfo/selectStuSubjective")
	public Map<String, Object> selectStuSubjective(@RequestParam("examId")Integer examId,@RequestParam("subId")Integer subId,@RequestParam("topicNo")String topicNo,@RequestParam("claId")Integer claId,
			@RequestParam("minScore")Double minScore,@RequestParam("maxScore")Double maxScore,@RequestParam("stuNmOrStuNo")String stuNmOrStuNo,@RequestParam("pageNum")Integer pageNum,@RequestParam("pageSize")Integer pageSize);
	
	/**
	 * 主观题班级得分分布
	 * @param examId
	 * @param subId
	 * @param claId
	 * @param topicNo
	 * @return
	 */
	@GetMapping("/topicNoScoreInfo/selectSubjectiveDistribution")
	public Map<String, Object> selectSubjectiveDistribution(@RequestParam("examId")Integer examId,@RequestParam("subId")Integer subId,@RequestParam("claId")Integer claId,@RequestParam("topicNo")String topicNo);
}
